package com.mrdeer.iot.service;

import com.mrdeer.iot.driver.AttributeInfo;
import com.mrdeer.iot.service.impl.DriverCustomServiceImpl;

/**
 * 自定义驱动接口，开发的自定义驱动需要实现 read 和 write 接口，可以参考以提供的驱动模块写法
 * <ol>
 *     <li>{@link DriverCustomServiceImpl#initial()}初始化操作，需要根据不同的驱动实现该功能</li>
 * // *     <li>{@link DriverCustomServiceImpl#read(Device, Point)}读操作，需要根据不同的驱动实现该功能</li>
 * // *     <li>{@link DriverCustomServiceImpl#write(Device, AttributeInfo)} 写操作，需要根据不同的驱动实现该功能</li>
 *     <li>{@link DriverCustomServiceImpl#schedule()}调度操作，需要根据不同的驱动实现该功能</li>
 * </ol>
 */
public interface DriverCustomService {
    /**
     * Initial Driver
     */
    void initial();

    /**
     * Read Operation
     *
     * @param device Device
     * @param point  Point
     * @return String Value
     */
//    String read(Device device, Point point);

    /**
     * Write Operation
     * <p>
     * //     * @param device Device
     *
     * @param value Value Attribute Info
     * @return Boolean Boolean
     */
//    Boolean write(Device device, AttributeInfo value);

    Boolean write(String dest, String value);

    /**
     * Schedule Operation
     */
    void schedule();
}
